/**********************************************************

     文件名称: main.c

     项目功能: 

     作者: 佳奇

     邮箱: 1374804492@qq.com 

     创建时间: Wed 24 Aug 2022 07:00:54 PM CST

**********************************************************/


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "sup_mgr.h"
#include "md5.h"


//	定义4个全局链表全局变量 将其指向NULL
cas_list* s1 = NULL;
com_list* s2 = NULL;
sales_list* s3 = NULL;
admin* s4 = NULL;


int main()
{
	//	将四条链表全部初始化 
	s1 = create_cas(), s2 = create_com(), s3 = create_sales(), s4 = create_admin();
	//	将文件中的数据加载至全局链表中
	read_infor(s1, s2, s3, s4);

	//	登录界面 登录成功返回密码节点指针 失败返回NULL	
	admin* demo = user_login();

	if(demo)
	{
        //  判断用户是否是首次登录
		if(demo->data->state == 0)
		{
			system("clear");
			printf("\n系统检查到您为首次登录状态\n");
			printf("为了安全起见 请你立即更改密码\n");
			printf("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
			mv_pwd(s4, demo->data->user_id);
		}

        //  通过用户身份识别 0 为管理员 1 为收银员
		switch(demo->data->idenditr)
		{
			case 0:
				system("clear");
				admin_function(demo->data->user_name);
				//	将链表中的所有数据 覆盖写入文件中 实现数据更新
				write_infor(s1, s2, s3, s4);
				return 0;

			case 1:
				system("clear");
				cas_function(demo->data->user_name, demo->data->user_id);
				//	将链表中的所有数据 覆盖写入文件中 实现数据更新
				write_infor(s1, s2, s3, s4);
				return 0;
		}
	}else return 1;

	return 0;
}